package tests.mocks;

import java.util.Collection;

import view.AterrizarWindow;
import vuelo.Vuelo;
import aerolinea.TodasLasAerolineas;
import aplicationModel.BuscarAsientos;
import asiento.Asiento;
import busqueda.Busqueda;
import excepciones.NoPuedeComprarException;
import excepciones.NoPuedeReservarException;

public class BuscarAsientosMock extends BuscarAsientos {

	// ********************************************************
	// ** Acciones
	// ********************************************************
	public void comprarAsientoConExcepcionChequeada() throws NoPuedeComprarException  {
			getAsientoSeleccionado().comprar(AterrizarWindow.usuario);
	}
	
	public void reservarAsientoConExcepcionChequeada() throws NoPuedeReservarException {
			getAsientoSeleccionado().reservar(AterrizarWindow.usuario);
	}
	public void sobreReservarAsientoConExcepcionChequeada() throws NoPuedeReservarException {
			getAsientoSeleccionado().sobreReservar(AterrizarWindow.usuario);
	}
	
	public void buscar(){
		this.validar();		
		Busqueda busquedaArealizar = new Busqueda(this.getOrigen(), this.getDestino(), this.getFecha());
		busquedaArealizar.setTipoUsuario(AterrizarWindow.usuario.getTipoUsuario());
		Collection<Vuelo> vuelos = TodasLasAerolineas.getInstance().buscarVuelos(busquedaArealizar);
		this.cargarAsientosDeVuelos(vuelos, busquedaArealizar);
	}

	public Asiento getPrimerAsiento() {
		for (Asiento asiento : getResultados()) {
			return asiento;
		}
		return null;
	}

}
